import { http } from "@/utils/http";
import {baseUrlApi} from "@/api/utils";

type Result = {
  success: boolean;
  data?: Array<any>;
};

// type ResultTable = {
//   success: boolean;
//   data?: {
//     /** 列表数据 */
//     list: Array<any>;
//     /** 总条目数 */
//     total?: number;
//     /** 每页显示条目个数 */
//     pageSize?: number;
//     /** 当前页数 */
//     currentPage?: number;
//   };
// };

type ResultTable = {
  success: boolean;
  data?: {
    /** 列表数据 */
    records: Array<any>;
    /** 总条目数 */
    total?: number;
    /** 每页显示条目个数 */
    size?: number;
    /** 当前页数 */
    current?: number;
  };
};

/** 获取系统管理-用户管理列表 */
export const getUserList = (data?: object) => {
  return http.request<ResultTable>("post", baseUrlApi("user/query"), { data });
};
/** 获取系统管理-角色管理列表 */
export const addUser = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("user/add"), { data });
};

/** 获取系统管理-角色管理列表 */
export const editUser = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("user/edit"), { data });
};
/** 获取系统管理-角色管理列表 */
export const resetUserPwd = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("user/resetPwd"), { data });
};

/** 获取系统管理-加载下拉框 */
export const deleteUser = (data?: String) => {
  return http.request<Result>("post", baseUrlApi("user/delete"), { data });
};

/** 系统管理-用户管理-获取所有角色列表 */
export const getUserRoleList = () => {
  return http.request<ResultTable>("post", baseUrlApi("role/queryAll"), {  });
};
/** 获取角色管理-权限-菜单权限 */
export const saveUserRole = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("userRole/save"), { data });
};
/** 系统管理-用户管理-根据userId，获取对应角色id列表（userId：用户id） */
export const getUserRoleIds = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("userRole/queryByUserId"), { data });
};

/** 获取系统管理-角色管理列表 */
export const getRoleList = (data?: object) => {
  return http.request<ResultTable>("post", baseUrlApi("role/query"), { data });
};


/** 获取系统管理-加载下拉框 */
export const getSysDict = (data?: String) => {
  return http.request<Result>("get", baseUrlApi("system/dict/query/"+data), { data });
};


/** 获取系统管理-角色管理列表 */
export const addRole = (data?: object) => {
  return http.request<ResultTable>("post", baseUrlApi("role/add"), { data });
};

/** 获取系统管理-角色管理列表 */
export const editRole = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("role/edit"), { data });
};

/** 获取系统管理-加载下拉框 */
export const deleteRole = (data?: String) => {
  return http.request<Result>("post", baseUrlApi("role/delete"), { data });
};

/** 获取系统管理-菜单管理列表 */
export const getMenuList = (data?: object) => {
  return http.request<Result>("get", baseUrlApi("menu/query"), { data });
};


/** 获取系统管理-部门管理列表 */
export const getDeptList = (data?: object) => {
  return http.request<Result>("post", "/dept", { data });
};

/** 获取系统监控-在线用户列表 */
export const getOnlineLogsList = (data?: object) => {
  return http.request<ResultTable>("post",baseUrlApi("monit/online/query"), { data });
};

/** 获取系统监控-登录日志列表 */
export const getLoginLogsList = (data?: object) => {
  return http.request<ResultTable>("post", "/login-logs", { data });
};

/** 获取系统监控-操作日志列表 */
export const getOperationLogsList = (data?: object) => {
  return http.request<ResultTable>("post", baseUrlApi("monit/operation/query"), { data });
};

/** 获取系统监控-系统日志列表 */
export const getSystemLogsList = (data?: object) => {
  return http.request<ResultTable>("post", "/system-logs", { data });
};

/** 获取系统监控-系统日志-根据 id 查日志详情 */
export const getSystemLogsDetail = (data?: object) => {
  return http.request<Result>("post", "/system-logs-detail", { data });
};
//
// /** 获取角色管理-权限-菜单权限 */
// export const getRoleMenu = (data?: object) => {
//   return http.request<Result>("post", "/role-menu", { data });
// };
/** 获取角色管理-权限-菜单权限 */
export const getRoleMenu = (data?: object) => {
  return http.request<Result>("get", baseUrlApi("menu/query"), { data });
};
/** 获取角色管理-权限-菜单权限 */
export const addMenu = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("menu/add"), { data });
};
/** 获取角色管理-权限-菜单权限 */
export const editMenu = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("menu/edit"), { data });
};
/** 获取角色管理-权限-菜单权限 */
export const saveRoleMenu = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("roleMenu/save"), { data });
};
/** 获取角色管理-权限-菜单权限 */
export const deleteMenu = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("menu/delete"), { data });
};
/** 获取角色管理-权限-菜单权限-根据角色 id 查对应菜单 */
export const getRoleMenuIds = (data?: object) => {
  return http.request<Result>("post", baseUrlApi("roleMenu/queryByRoleId"), { data });
};
